#define ERR_EEPROM_NOT_FOUND	0x01

#define ERROR_BITS						unsigned char
#define ERROR_BIT_IOEXP_IN0_FAILED		0
#define ERROR_BIT_IOEXP_IN1_FAILED		1
#define ERROR_BIT_IOEXP_IN2_FAILED		2
#define ERROR_BIT_IOEXP_IN3_FAILED		3
#define ERROR_BIT_IOEXP_OUT0_FAILED		4
#define ERROR_BIT_IOEXP_OUT1_FAILED		5
#define ERROR_BIT_IOEXP_OUT2_FAILED		6
#define ERROR_BIT_IOEXP_OUT3_FAILED		7

void CriticalError(unsigned char errorcode);

#define PLACE_I2C_START_TRANS_COMPL			0x20
#define PLACE_I2C_START_ACK_NAK_RECV		0x21
#define PLACE_I2C_START_WAIT_TRANS_COMPL_1	0x22
#define PLACE_I2C_START_WAIT_TRANS_COMPL_2	0x23
#define PLACE_I2C_START_WAIT_STOP			0x24
#define PLACE_I2C_STOP_BUS_RELEASED			0x25
#define PLACE_I2C_WRITE_TRANS_COMPLE		0x26
#define PLACE_I2C_READ_ACK_TRANS_COMPLE		0x27
#define PLACE_I2C_READ_NAK_TRANS_COMPLE		0x28
#define PLACE_I2C_START_WAIT				0x29

#define PLACE_SPI_WAIT_BYTE_SEND			0x30

#define PLACE_UART_WAIT_BYTE_SEND			0x40

void check_Hang(uint8_t place);
void check_loop_Hang(uint8_t place);
